package com.example.demo03.entity.po;

import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import java.util.Date;

/**
 * The TodoItem class represents an item in a to-do list.
 * It contains information about the item such as its unique identifier, name, description,
 * priority score, status, creation time, update time, and the user who created it.
 *
 * @author [Your Name]
 * @version 1.0
 * @since [Date]
 */
@Data
public class TodoItem {
    /**
     * The unique identifier of the TodoItem.
     */
    private Long id;

    /**
     * The name of the TodoItem.
     */
    private String name;

    /**
     * The description information of the TodoItem.
     */
    private String description;

    /**
     * The priority score of the TodoItem, used for sorting and filtering.
     */
    private Integer score;

    /**
     * Represents the status of the TodoItem, e.g., not completed, in progress, completed, etc.
     * This field is ignored during serialization using the @JsonIgnore annotation
     * and will not be returned to the client.
     */
    @JsonIgnore
    private String status;

    /**
     * The creation time of the TodoItem.
     * This field is ignored during serialization using the @JsonIgnore annotation
     * and will not be returned to the client.
     */
    @JsonIgnore
    private Date createdAt;

    /**
     * The update time of the TodoItem.
     * This field is ignored during serialization using the @JsonIgnore annotation
     * and will not be returned to the client.
     */
    @JsonIgnore
    private Date updatedAt;

    /**
     * The unique identifier of the user who created the TodoItem.
     * This field is ignored during serialization using the @JsonIgnore annotation
     * and will not be returned to the client.
     */
    @JsonIgnore
    private Long userId;
}